<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui"
	xmlns:c="http://java.sun.com/jsp/jstl/core" template="../index.xhtml">

	<h:head>
		<f:facet name="first">
			<meta content='text/html; charset=UTF-8' http-equiv="Content-Type" />
			<title>Sistema UTI Neonatal</title>
		</f:facet>
	</h:head>

	<ui:define name="content">

		<p:accordionPanel id="accGerenciarUsuarios" activeIndex="0"
			multiple="true">

			<p:tab title="Gerenciar Usuários">

				<h:form id="formTableUsuarios">

					<p:growl id="messages" showDetail="true" />

					<p:dataTable id="tableUsuarios" var="usuario"
						value="#{usuarioController.usuarioModel}" paginator="true" rows="5"
						selection="#{usuarioController.usuario}" selectionMode="single"
						paginatorPosition="bottom" widgetVar="usuarioTable" emptyMessage="Nenhum registro encontrado!">

						<p:ajax event="rowSelect"
							update=":accGerenciarUsuarios:formDialogUsuario:crudUsuario"
							oncomplete="dialogGerUsuario.show()" />

						<f:facet name="header">
							<h:outputText value="Pesquisar: "
								style="margin-left:4px;margin-top:4px;float:left;position:relative" />
							<p:inputText id="globalFilter"
								style="margin-left:3px;float:left;position:relative;width:150px" value="#{usuarioController.usuarioPesq.username}" />
							<p:commandButton id="botaoPesquisar" icon="ui-icon-search"
									update=":accGerenciarUsuarios:formTableUsuarios:tableUsuarios"
									oncomplete="dialogGerUsuario.hide();"
									actionListener="#{usuarioController.pesquisarUsuario}"
								style="margin-left:4px;margin-top:2px;width:20px;height:20px;float:left;position:relative"></p:commandButton>
						</f:facet>

						<p:column id="identificadorColumn" headerText="Identificador" style="width: 50%">
							<h:outputText value="#{usuario.id}" />
						</p:column>

						<p:column id="descricaoColumn" headerText="Descrição" style="width: 50%">
							<h:outputText value="#{usuario.nome}" />
						</p:column>
						<p:column>
								<f:facet name="header">
									<h:outputText value="Sobrenome" />
								</f:facet>
								<h:outputText value="#{usuario.sobrenome}" />
							</p:column>
							<p:column>
								<f:facet name="header">
									<h:outputText value="Idade" />
								</f:facet>
								<h:outputText value="#{usuario.idade}" />
							</p:column>
							<p:column>
								<f:facet name="header">
									<h:outputText value="COREN" />
								</f:facet>
								<h:outputText value="#{usuario.coren}" />
							</p:column>
							<p:column>
								<f:facet name="header">
									<h:outputText value="Perfil" />
								</f:facet>
								<h:outputText value="#{usuario.perfil.descricao}" />
							</p:column>
							<p:column>
								<f:facet name="header">
									<h:outputText value="Username" />
								</f:facet>
								<h:outputText value="#{usuario.username}" />
							</p:column>
							<p:column>
								<f:facet name="header">
									<h:outputText value="Senha" />
								</f:facet>
								<h:outputText value="#{usuario.password}" />
							</p:column>
							<p:column>
								<f:facet name="header">
									<h:outputText value="Ativado" />
								</f:facet>
								<h:outputText value="#{usuario.enable}" />
							</p:column>

					</p:dataTable>

				</h:form>

				<p:dialog header="Gerencia de Usuario" widgetVar="dialogGerUsuario"
					resizable="false" showEffect="slide" width="500">

					<h:form id="formDialogUsuario" prependId="false">

						<h:panelGrid id="crudUsuario" columns="2" style="margin-top:10px">

							<f:facet name="header">
								<p:messages />
							</f:facet>

							<h:outputLabel for="descricao" value="Nome:"
								style="margin-top:40px" />
							<h:inputText id="descricao"
								value="#{usuarioController.usuario.nome}" />
							<h:outputLabel for="descricao" value="Sobrenome:"
								style="margin-top:40px" /> 
								<h:inputText value="#{usuarioController.usuario.sobrenome}" />
							<h:outputLabel for="descricao" value="Perfil:"
								style="margin-top:40px" /> 
							<h:selectOneMenu id="perfilAlterar" value="#{usuarioController.perfilSelecionado}" converter="IndexedConverter">
								 <f:selectItems value="#{usuarioController.listaPerfis}"/>		
							</h:selectOneMenu>
							<h:outputLabel for="idade" value="Idade:"
								style="margin-top:40px" /> 
							<h:inputText value="#{usuarioController.usuario.idade}" />
							<h:outputLabel for="coren" value="COREN:"
								style="margin-top:40px" /> 
							<h:inputText value="#{usuarioController.usuario.coren}" />
							<h:outputLabel for="username" value="Login:"
								style="margin-top:40px" />  <h:inputText id="username" value="#{usuarioController.usuario.username}" required="true" requiredMessage="Senha é campo obrigatório! Favor preencher." />
							<h:outputLabel for="senha" value="Senha:"
								style="margin-top:40px" />  <h:inputText id="senha" value="#{usuarioController.usuario.password}" required="true" requiredMessage="Senha é campo obrigatório! Favor preencher." />
							<h:outputLabel for="descricao" value="Ativado:"
								style="margin-top:40px" /> 
							<h:selectOneMenu id="Ativado" value="#{usuarioController.usuario.enable}">
								<f:selectItem itemValue="true" itemLabel="Sim"/>  
    							<f:selectItem itemValue="false" itemLabel="Não"/>  
							</h:selectOneMenu>	
						
							<div style="margin-top: 20px"></div>
							<f:facet name="footer">
								<p:commandButton
									update=":accGerenciarUsuarios:formTableUsuarios:tableUsuarios :accGerenciarUsuarios:formTableUsuarios:messages"
									oncomplete="dialogGerUsuario.hide();"
									actionListener="#{usuarioController.alterarUsuario}"
									value="Alterar Usuario" />
								<p:commandButton value="Remover Usuario"
									update=":accGerenciarUsuarios:formRemover"
									oncomplete="remover.show()" />
							</f:facet>

						</h:panelGrid>

					</h:form>

				</p:dialog>

				<p:dialog widgetVar="remover" header="Remover Usuario" width="500"
					resizable="false" showEffect="slide">

					<h:form id="formRemover">

						<h:outputText
							value="Tem certeza que quer remover: #{usuarioController.usuario.nome} #{usuarioController.usuario.sobrenome} ?" />

						<h:panelGrid columns="2" style="margin-top:20px">

							<p:commandButton value="Sim"
								actionListener="#{usuarioController.excluirUsuario}"
								update=":accGerenciarUsuarios:formTableUsuarios:tableUsuarios :accGerenciarUsuarios:formTableUsuarios:messages"
								oncomplete="dialogGerUsuario.hide(), remover.hide()" />
							<p:commandButton value="Não" onclick="remover.hide()" />

						</h:panelGrid>

					</h:form>

				</p:dialog>

			</p:tab>

			<p:tab id="tabCriarUsuario" title="Criar Usuario">

				<h:form id="formCriaUsuario" prependId="false">

					<h:panelGrid id="criaUsuario" columns="3" style="margin-top:20px">

						<h:outputLabel for="nomeCriar" value="Nome:" />
						<p:inputText id="nomeCriar"
							value="#{usuarioController.novoUsuario.nome}" />
						<br />
						
						<h:outputLabel for="sobrenomeAdicionar" value="Sobrenome:"
								style="margin-top:40px" /> 
						<p:inputText id="sobrenomeAdicionar" value="#{usuarioController.novoUsuario.sobrenome}" />
						<br />
							
						<h:outputLabel for="perfilAdicionar" value="Perfil:"
								style="margin-top:40px" /> 
						<h:selectOneMenu id="perfilAdicionar" value="#{usuarioController.perfilSelecionado}" converter="IndexedConverter">
							<f:selectItems value="#{usuarioController.listaPerfis}"/>		
						</h:selectOneMenu>
						<br />
							
						<h:outputLabel for="idadeAdicionar" value="Idade:"
								style="margin-top:40px" /> 
						<p:inputText id="idadeAdicionar" value="#{usuarioController.novoUsuario.idade}" />
						<br />
						
						<h:outputLabel for="creAdicionar" value="Coren:"
								style="margin-top:40px" /> 
						<p:inputText id="creAdicionar" value="#{usuarioController.novoUsuario.coren}" />
						<br />
							
						<h:outputLabel for="loginAdicionar" value="Login:"
								style="margin-top:40px" />  
						<p:inputText id="loginAdicionar" value="#{usuarioController.novoUsuario.username}" required="true" requiredMessage="Login é campo obrigatório! Favor preencher." />
						<br />	
							
						<h:outputLabel for="senhaAdicionar" value="Senha:"
								style="margin-top:40px" />  			
						<p:inputText id="senhaAdicionar" value="#{usuarioController.novoUsuario.password}" required="true" requiredMessage="Senha é campo obrigatório! Favor preencher." />
						<br />
						
						<h:outputLabel for="ativadoAdicionar" value="Ativado:"
								style="margin-top:40px" /> 
						<h:selectOneMenu id="ativadoAdicionar" value="#{usuarioController.novoUsuario.enable}">
							<f:selectItem itemValue="true" itemLabel="Sim" />  
    						<f:selectItem itemValue="false" itemLabel="Não" />  
						</h:selectOneMenu>	

						<f:facet name="footer">
							<p:commandButton
								update=":accGerenciarUsuarios:formTableUsuarios:tableUsuarios :accGerenciarUsuarios:formCriaUsuario:criaUsuario :accGerenciarUsuarios:formTableUsuarios:messages"
								oncomplete="dialogGerUsuario.hide();"
								actionListener="#{usuarioController.adicionarUsuario}"
								value="Criar Usuario" style="margin-top:20px" />
						</f:facet>

					</h:panelGrid>

				</h:form>

			</p:tab>

		</p:accordionPanel>

	</ui:define>
</ui:composition>